Advances in mobile devices and mobile device technology have increased user productivity in everyday life. These advances in mobile device technology and productivity have created a proliferation of mobile applications and software packages designed to be installed on a user's mobile device to provide a source of entertainment, easy access to certain content, or streamline common tasks associated with everyday living. Consumers who use mobile applications (also described herein as applications, app(s), and the like) have the expectation these mobile applications will be completely functional and user-friendly upon initial download and use. Therefore, application developers want to ensure, prior to the release of an application, the mobile application is tested and functions as intended.
Because the process of functional testing is typically arduous, many application development companies pay extra money to outsource functional testing to third-party application testing companies that possess the capability to perform such tests. Many third-party application testing entities facilitate application testing using various apparatuses and software designed to make testing easier. These apparatuses and solutions, however, often render various proprietary data (e.g., application source code, testing parameters, etc.) vulnerable to possible external attacks from hackers. Furthermore, providing developers user-testing authentication to further maximize security measures for proprietary information is typically not an available option for many third-party testing entities.
In addition, many of the apparatuses used for application functional testing use optical character recognition (OCR) to determine and view various embedded objects on a the device screen. However, this method is not as efficient as other object capturing methods; wherein OCR provides various object location deficiencies such as positional on-screen accuracy errors, visual errors, imprecise capture methods, etc. In particular, these deficiencies may not completely enable all objects present to be scripted for testing, which may prove to be difficult for a thorough application functionality test.
Further, most apparatus and software configurations offer limited testing capacity as many apparatuses can only support of limited number of devices for simultaneous testing, and in some cases only one device at a time. Many of the contracted third-party entities are only able to test one operating system platform (i.e., Android, iOS, Windows, etc.) at a time due to programming language and protocol constraints. Additionally, because of opposing platform constraints, some companies desire only to support testing on one solitary operating system. Further, some of the third-party testing entities have apparatuses and software that require opening or disassembling a portion of the phone to connect additional hardware (usually via soldering additional wires) to perform the testing process. Further still, most existing solutions require “jailbreaking” of the device to fully test all desired functionality.
Therefore, there is a long-felt but unresolved need for systems and methods that provide a unified application testing mechanism for testing various applications on various devices and platforms. In particular, there is a need for a system that enables application developers to seamlessly and simultaneously test a plurality of applications on a single apparatus regardless of operating system platform or the number of different tests running on the same apparatus. There is a further need for a system and method to provide an effective solution for secure application testing enabling proprietary data to remain private.